using UnityEngine;

/// <summary>
/// ���������������
/// ���ڽ�ɫ�� Camera �Ͼ���
/// </summary>
public class SkillChargeController : MonoBehaviour
{
    [Tooltip("������ָʾ�����")]
    public SkillAttackIndicators Indicators;

    private void Awake()
    {
        Indicators = GetComponent<SkillAttackIndicators>();
    }

    void Update()
    {
        // ������û��ָ��ָʾ��ֱ�ӷ���
        if (Indicators == null) return;

        // ��갴�¿�ʼ����
        if (Input.GetMouseButtonDown(0))
        {
            Indicators.StartCharging();
        }

        // ���̧������������ͷż���
        if (Input.GetMouseButtonUp(0))
        {
            if (Indicators.IsCharging())
            {
                float progress = Indicators.GetChargeProgress();
                int level = Indicators.GetChargeLevel();

                ReleaseSkill(level, progress);
                Indicators.EndCharging();
            }
        }
    }

    /// <summary>
    /// �����ͷż��ܵĵط�
    /// </summary>
    private void ReleaseSkill(int level, float progress)
    {
        Logger.Log($"�ͷ� {level} �����ܣ���������: {(progress * 100):F1}%");
        // TODO: ��������ü���ϵͳ��������Ч���˺��ж���
    }
}
